The dos and don'ts when working
In this article: |
---|
If you need details on any item, click the link listed to the right of the item. This takes you to an article that usually contains a warning or a note (see User documentation of the development environment, version 3.24.0" for the typographical conventions on warnings/notes) specifying the item.
If you have more questions regarding an item and there are no information to be found in the user documentation of Neuron Power Engineer, contact the support team of Neuron.
Other useful links:
step-by-step instructions |
|
other actions |
|
fast searching within the user documentation |
When installing
Observe: |
Details under: |
---|---|
no special characters in installation path of Neuron Power Engineer |
|
no installation path incl. compiler path with more than 255 characters |
Additionally, observe for target systems:
if Raspberry Pi is used as PLC: version for →runtime system to be installing |
|
if a 64 bit system of Linux is used as operating system: have certain commands executed in a terminal window |
When starting
Observe: |
Details under: |
---|---|
allowing access when Windows security alerts are displayed |
Starting the development environment and the runtime environment |
enter a new workspace per start of Neuron Power Engineer (outside the installation directory of Neuron Power Engineer) |
Starting the development environment and the runtime environment, |
start Neuron Power Engineer in another language |
How do I change the language for the user interface?, |
When creating projects
Observe: |
Details under: |
---|---|
no blanks or special characters in project name and location |
|
do not create projects in the workspace |
|
linked folders become "real" folders after importing |
When working in the project explorer
Observe: |
Details under: |
---|---|
do not manipulate →libraries |
|
do not change file extensions |
|
do not export linked folders to archive files |
|
modifications outside Neuron Power Engineer make "Refreshing" necessary |
Viewing state information on PLC, |
Show the folders |
for general information: Project explorer to manage project |
When creating the application
General programming guidelines
No identification of infinite loops and missing abort conditions respectively Infinite loops as well as missing abort conditions are not identified by Neuron Power Engineer. Provide correct abort conditions (e.g. by using |
Example for infinite loop without abort condition |
Example for infinit loop with an abort condition |
||
---|---|---|---|
If you load such applications onto the PLC anyway, the →runtime system might be terminated. In this case, a window with the following text appears: |
|
No check of recursions Recursions for →functions and →methods are not forbidden or checked by Neuron Power Engineer. Nevertheless, do not call a function/method from within itself and avoid 2 (or more) functions/methods calling each other (= mutual recursion) within your application. |
In contrast to this, recursions for →function blocks are recognized and highlighted as faulty.
When creating the application in ST
Observe: |
Details under: |
---|---|
no check of invalid connections by Neuron Power Engineer (e.g. when using the numeric functions, such as the |
Numeric functions
|
do not use keywords for identifiers |
|
ST-elements, supported at present |
articles within section "Supported ST-syntax" |
Expressions with more than 20 operands/operators influence the performance. |
|
no detection of mathematical errors when assigning expressions |
|
The following ST-elements are supported with restrictions:
|
|
a collection of things when using in-out variables (= |
|
In case of
|
|
no identification of infinite loops in case of |
|
The following data types are not supported:
|
|
inaccuracies for floating-point numbers ( |
Depending on the used target system:
Observe: |
Details under: |
---|---|
Other provided system blocks:
|
|
When creating the application in FBD
Observe: |
Details under: |
---|---|
possible to declare one POU within an FBD-object |
|
other displayed colors for data types and/or other displayed FBD-elements (as illustrated in the IDE documentation) |
Also, observe the items under "When creating the application in ST". These might be relevant for a FBD-logic, too.
When creating the application in LD
Observe: |
Details under: |
---|---|
possible to declare one POU within an LD-object |
|
contacts/coils that are not provided in functions |
Also, observe the items under "When creating the application in ST". These might be relevant for a ladder diagram, too.
When creating blocks with C-code
Possible problems for an application due to name conflicts in the C-code (e.g. in case of vendor blocks and import of a Simulink model). If you are using not-unique names in the →C code and they are available in the global namespace, conflicts might be caused when using several blocks with such C code. However, these conflicts may not cause errors/warnings when building the application. As a result, the runtime behavior might be affected in an undesirable way.
Additional information: This problem is valid for:
|
Used system blocks
Accuracy and behavior of mathematical functions Mathematical functions that are processing floating-point numbers (
|
Do not use blocks/variables with LREAL for Controllino or Arduino Nano If you create an application for a →Controllino or an →Arduino Nano, avoid the usage of blocks/variables processing/returning Observe that the DIV_TIME block is internally always using |
Behavior of convert blocks in case of a range of values not overlapping
|
Known examples:
Target system |
Result of the mathematical function |
---|---|
→Runtime system for Windows |
|
|
|
RTOS32 compiler |
|
The RTOS32 compiler reports an error in case of a specific division. If you are using the RTOS32 compiler, avoid a specific division (see the following example) in your application.
When building the application, the compilers report the expected warning |
Observe: | Details under: | ||
---|---|---|---|
system blocks based on the →IEC-standard but with restrictions:
|
|
||
system blocks based on the →IEC-standard but with enhancements:
|
|
||
system blocks in addition to the →IEC-standard:
|
When defining settings for the PLC
Observe: |
Details under: |
---|---|
max. 32 tasks per resource |
|
restrictions when scheduling several program types |
|
restrictions for |
When testing the application
Observe: |
Details under: |
---|---|
display in Instances view: just base type for array variables |
|
changing value for variable ≠ forcing |
|
used target system might influence literals entered/displayed in Neuron Power Engineer |
Additionally, observe for target systems:
default timer resolution for most Linux operating systems |
When debugging the application
Observe: |
Details under: |
---|---|
|
Control flow debugging: Debugging the application by setting breakpoints |
|
When creating the application in →C or →C++
Observe: |
Details under: |
---|---|
when creating projects, use different position for C/C++ projects |
Die gleiche Positon für C-/C++-Projekte bzw. andere Projekte verursacht Probleme |
|
When using the Raspberry Pi
Observe: |
Details under: |
---|---|
requirements for SD card |
|
version for runtime system to be installed |
|
power supply for Raspberry Pi |
|
activated default locale |
|
in case of data transfer via MQTT: controlling the connection for TCP port |
|
default timer resolution for most Linux operating systems (e.g. Raspbian) |
When accessing hardware IOs via EC-Master and EC-Engineer
Observe: |
Details under: |
---|---|
when preparing the environment: conditions for the network interface card |
|
installing runtime system under Windows (contains an evaluation version of EC-Master) |
|
do not change the resource-global variables |
When changing the layout
Observe: |
Details under: |
---|---|
different steps for moving/docking views/editors |
Moving or docking views and editors, |
Performance
Observe: |
Details under: |
---|---|
in case of performance issues |